var base_url;
var primera1=true;
var primera2=true;

$(document).ready(function() {
    base_url=$("#base_url").html();
    console.log("INFO: ************** SERVICIOS CONTROLLER ****************");

    //set data inicial
    setCalendarEvent("#form1_fecha");
    $('#form1_fecha').val(localStorage.fecha);
    getTerminalesOrigenAjax('#form1');
    setDataFiltros(localStorage.origen, localStorage.destino, localStorage.fecha);
    //Trae el los servicios con option value
    getServiciosAjax(localStorage.fecha, localStorage.idTerminalOrigen, localStorage.idTerminalDestino,true);

    $("#form1_btn_consultar").click(function() {
        if (validateFindForm('#form1', '#mensajeControlFormBusqueda')) {
            setDataFiltros($('#form1_origen option:selected').text(), $('#form1_destino option:selected').text(),
                $('#form1_fecha').val());
            saveParametersBusqueda('#form1');
            //Trae el los servicios con option value
            getServiciosAjax($('#form1_fecha').val(), $('#form1_origen option:selected').val(), $('#form1_destino option:selected').val(), true);
        }
    });

    $('#form1_origen').change(function() {
        if (validateSelect('#form1_origen option:selected')) {
            getTerminalesDestinoAjax('#form1');
        } else { //si es seleccionar
            $('#form1_destino').html(createSelectOption(0, SELECCIONAR_TEXT, SELECTED_VALUE_SI));
        }
    });

    $("#form2_btn_atras").click(function() {
        history.go(-1);
    });

    $("#form2_btn_atras2").click(function() {
        history.go(-1);
    });

    $("#form2_btn_siguiente").click(function() {
        if (validateServiciosTable()) {
            saveParametersFromServicios();
            callUrlFromJS('online/asientos');
        }
    });
});

function saveParametersFromServicios(){
    var rowNumber=$('input[name=optionRadio]:checked').val()-1;
    localStorage.idProgramacion =$('#lista_servicios tr:eq('+rowNumber+')').find('td:last').html();
    localStorage.hora =$('#lista_servicios tr:eq('+rowNumber+')').find('td:eq(1)').html();
    localStorage.precio1 =$('#lista_servicios tr:eq('+rowNumber+')').find('td:eq(3)').html();
    localStorage.precio2 =$('#lista_servicios tr:eq('+rowNumber+')').find('td:eq(4)').html();

    console.log("INFO: Save data from Servicios Page");
}

function validateServiciosTable() {
    return $("#lista_servicios tr").length >0? true: false;
}

function saveParametersBusqueda(form){
    localStorage.fecha= $(form+'_fecha').val();
    localStorage.idTerminalOrigen = $(form+'_origen option:selected').val();
    localStorage.idTerminalDestino = $(form+'_destino option:selected').val();
    localStorage.origen = $(form+'_origen option:selected').text();
    localStorage.destino = $(form+'_destino option:selected').text();

    console.log("INFO: Save data Busqueda from Servicios Page");
}

function getServiciosAjax(fecha, idTerminalOrigen, idTerminalDestino, conOptionValue){
    var method = WS_SERVER+'itinerario/servicios/idTerminalOrigen/'+idTerminalOrigen+'/idTerminalDestino/'+idTerminalDestino+'/fecha/'+fecha+'/format/json';
    //var method = WS_SERVER+'itinerario/servicios/idTerminalOrigen/1/idTerminalDestino/2/fecha/2013-06-30/format/json';
    console.log("WS: "+method);

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            if (data==null){
                $('#lista_servicios').html('');
                mostrarMensajeError('#mensajeControl1', 'No existe información registrada para su consulta.');
                $('#botonera_paso_error').show();
                $('#botonera_paso').hide();
            } else {
                var dataTable= createServicioBusquedaTable(data.servicios, data.precios, conOptionValue);
                $('#lista_servicios').html(dataTable);
                ocultarMensajeError('#mensajeControl1');
                $('#botonera_paso').show();
                $('#botonera_paso_error').hide();
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
            console.log("ERROR_METHOD: getServiciosAjax");
            console.log("ERROR_WS: "+method);

            $('#lista_servicios').html('');
            mostrarMensajeError('#mensajeControl1', 'No existe información registrada para su consulta.');
            $('#botonera_paso_error').show();
            $('#botonera_paso').hide();
        }
    });
}

function getTerminalesOrigenAjax(form){
    var method = WS_SERVER+'terminal/origenes/format/json';
    console.log("WS: "+method);

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            var cad= crearDropDownSelectTerminal(data);
            $(form+'_origen').html(cad);
            $(form+'_destino').html(createSelectOption(0, SELECCIONAR_TEXT, SELECTED_VALUE_SI));
            if (primera1) {
                $('#form1_origen').val(localStorage.idTerminalOrigen);
                getTerminalesDestinoAjax('#form1');
                primera1=false;
            }

        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
            console.log("ERROR_METHOD: getTerminalesOrigenAjax");
            console.log("ERROR_WS: "+method);
        }
    });
}

function getTerminalesDestinoAjax(form){
    deshabilitarElemento(form+'_destino');
    
    var idTerminalOrigen = $(form+'_origen option:selected').val();
    var method = WS_SERVER+'terminal/destinos/idTerminalOrigen/'+idTerminalOrigen+'/format/json';
    //var method = WS_SERVER+'terminal/destinos/idTerminalOrigen/1/format/json';
    console.log("WS: "+method);

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            if (data==null){
                $(form+'_destino').html(createSelectOption(0, SELECCIONAR_TEXT, SELECTED_VALUE_SI));
            } else {
                var cad = crearDropDownSelectTerminal(data);
                $(form+'_destino').html(cad);
                if (primera2) {
                    $('#form1_destino').val(localStorage.idTerminalDestino);
                    primera2=false;
                }
            }
            habilitarElemento(form+'_destino');
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
            console.log("ERROR_METHOD: getTerminalesDestinoAjax");
            console.log("ERROR_WS: "+method);
            
            $(form+'_destino').html(createSelectOption(0, SELECCIONAR_TEXT, SELECTED_VALUE_SI));
        }
    });
}

/*function getServiciosAjax(fecha, idTerminalOrigen, idTerminalDestino, conOptionValue){
    var method = base_url+'website/getServiciosAjax';

    var parametros = {
        'fecha': fecha,
        'idTerminalOrigen': idTerminalOrigen,
        'idTerminalDestino': idTerminalDestino
    };

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: parametros,
        cache: false,
        success: function(data){
            if (data==null){
                //alert('Entro null getServiciosAjax. No hay información para su consulta.');
                $('#lista_servicios').html('');
                mostrarMensajeError('#mensajeControl1', 'No existe información registrada para su consulta.');
                $('#botonera_paso_error').show();
                $('#botonera_paso').hide();
            } else {
                var dataTable= createServicioBusquedaTable(data.servicios, data.precios, conOptionValue);
                $('#lista_servicios').html(dataTable);
                ocultarMensajeError('#mensajeControl1');
                $('#botonera_paso').show();
                $('#botonera_paso_error').hide();
            }
            console.log(data);
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
        }
    });
}*/

/*function getTerminalesOrigenAjax(form){
    var method = base_url+'website/getTerminalesOrigenAjax';

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            var cad= crearDropDownSelectTerminal(data);
            $(form+'_origen').html(cad);
            $(form+'_destino').html(createSelectOption(0, SELECCIONAR_TEXT, SELECTED_VALUE_SI));
            if (primera1) {
                $('#form1_origen').val(localStorage.idTerminalOrigen);
                getTerminalesDestinoAjax('#form1');
                primera1=false;
            }

        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
        }
    });
}*/

/*function getTerminalesDestinoAjax(form){
    deshabilitarElemento(form+'_destino');
    var method = base_url+'website/getTerminalesDestinoAjax';
    var parametros = {
        'idTerminalOrigen': $(form+'_origen option:selected').val()
    };

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: parametros,
        cache: false,
        success: function(data){
            if (data==null){
                $(form+'_destino').html(createSelectOption(0, SELECCIONAR_TEXT, SELECTED_VALUE_SI));
            } else {
                var cad = crearDropDownSelectTerminal(data);
                $(form+'_destino').html(cad);
                if (primera2) {
                    $('#form1_destino').val(localStorage.idTerminalDestino);
                    primera2=false;
                }
            }
            habilitarElemento(form+'_destino');

        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
        }
    });
}*/